package com.shujia.day10;

import java.io.InputStream;
import java.io.PrintStream;
import java.util.Objects;
import java.util.Scanner;

public class Code08SystemClass {
    public static void main(String[] args) {
//        InputStream in = System.in; // 通过.in返回一个输入流，用于接受系统传入（键盘）的数据
//        Scanner scanner = new Scanner(in);

//        PrintStream out = System.out;  // 通过System.out 返回一个输出流，用于将结果打印到控制台


        Student student = new Student("张三", "20");
        new Student("李四", "21");
        System.gc(); // 主动调用内存垃圾回收，将没有引用的对象在内存中进行删除  并不一定会立即将当前对象进行删除 并执行其 finalize 方法

//        Student stu = null;
//        System.out.println(stu.name);

        /*
            exit 退出状态：
                0 表示正常执行完成
                1 表示存在有错误 异常推出
         */
//        System.exit();

        Student stu = null;

//        if(stu == null){
//            System.out.println("学生对象为null,异常退出...");
//            System.exit(1);
//        }else {
//            System.out.println(stu.name);
//        }


        /*
            获取当前系统时间的时间戳
                public static long currentTimeMillis()

         */
        // 以毫秒为单位的 Millis
        System.out.println(System.currentTimeMillis());


    }


}

class Student{
    String name;
    String age;

    public Student() {
    }

    public Student(String name, String age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return Objects.equals(name, student.name) && Objects.equals(age, student.age);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }

    @Override
    protected void finalize() throws Throwable {
        System.out.println(name+"被删除");
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                '}';
    }
}
